Methods for providing location of wireless devices using Wi-Fi

ABSTRACT

Method includes maintaining a collaborative database on a database server containing geographic location information pertaining to Wi-Fi access points. The collaborative database includes database records for Wi-Fi access points including a MAC address and geographic location. A position location request from a Wi-Fi enabled wireless device is received at a server, and includes a respective MAC address of at least one Wi-Fi access point for which a wireless beacon is detected by the wireless device. Via a query issued to the database server using at least one MAC address included in the position location request, geographic location data for one or more Wi-Fi access points is retrieved from the database. A processor determines geographic location of the wireless device based at least on the retrieved geographic location data, and returns, via the server, geographic location data to the wireless device corresponding to the geographic location of the wireless device.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/172,415 filed Jul. 14, 2008 which is:

1) a continuation-in-part of U.S. patent application Ser. No. 11/549,703filed Oct. 16, 2006, now U.S. Pat. No. 7,696,923, which is acontinuation-in-part of U.S. patent application Ser. No. 11/170,337filed Jun. 29, 2005, now U.S. Pat. No. 7,397,424, which claims priorityunder 35 U.S.C. §119(e) of U.S. provisional patent application Ser. No.60/649,180 filed Feb. 3, 2005, now expired; and

2) a continuation-in-part of U.S. patent application Ser. No. 12/167,649filed Jul. 3, 2008, now U.S. Pat. No. 8,565,788, which is acontinuation-in-part of U.S. patent application Ser. No. 11/170,337filed Jun. 29, 2005, now U.S. Pat. No. 7,397,424, which claims priorityunder 35 U.S.C. §119(e) of U.S. provisional patent application Ser. No.60/649,180 filed Feb. 3, 2005, now expired.

All of the above applications are incorporated by reference herein.

FIELD OF THE INVENTION

The present invention relates generally to methods for providinggeographic location of wireless devices using Wi-Fi access points.

BACKGROUND OF THE INVENTION

As portable mobile devices proliferate, there is a growing demand tocontinuously and accurately know the geographic location of the mobiledevices. There are basically two different ways to determine thegeographic locations of a mobile device, either using a wirelesspositioning network such the GPS system or using a database of wirelessbeacons and determining position using this database.

The first technique suffers from the difficulty in continuouslyobtaining signals, e.g., from a network of satellite, to enable theposition of the mobile device to be determined. It is recognized thatsuch difficulties commonly arise in enclosed areas and confined areas,such as in areas with a large concentration of tall buildings and intunnels.

The second technique requires the creation of a database of wirelessbeacons, and the mobile device to be within range of a plurality of suchwireless beacons. In the absence of wireless beacons within range, theposition of the mobile device cannot be determined.

For the second technique, several systems are being used to enablemobile devices to determine their position. One such system is PlaceLab. Place Lab is software providing low-cost, easy-to-use devicepositioning for location-enhanced computing applications. The Place Labapproach is to allow mobile devices such as notebook computers, PDAs andcell phones, to locate themselves by listening for radio beacons such as802.11 access points, GSM cell phone towers, and fixed Bluetooth devicesthat exist in the surrounding environment. These beacons all haveessentially unique identifications, for example, a MAC address. Thedevices compute their own location by hearing one or more IDs, lookingup the associated beacons' positions in a stored map, and estimatingtheir own position referenced to the beacons' positions. Additionalinformation about Place Lab is found in: Place Lab: Device PositioningUsing Radio Beacons in the Wild, by Anthony LaMarca et al., Pervasive2005, Munich, Germany; Challenge: Ubiquitous Location-Aware Computingand the “Place Lab” Initiative, by Bill N. Schilit et al., Proceedingsof The First ACM International Workshop on Wireless Mobile Applicationsand Services on WLAN (WMASH 2003), San Diego, Calif. September 2003; ACase Study in Building Layered DHT Applications, by Yatin Chawathe etal., January 2005; Accuracy Characterization for Metropolitan-scaleWi-Fi Localization, by Yu-Chung Cheng et al., Proceedings of Mobisys2005, January 2005; Social Disclosure of Place: From Location Technologyto Communication Practices, by Ian Smith et al., Pervasive 2005, Munich,Germany; and Privacy and Security in the Location-enhanced World WideWeb, by Jason I. Hong et al., Proceedings of Ubicomp 2003, Seattle,Wash. October 2003.

Another positioning system is that of Skyhook Wireless which uses adatabase of known Wi-Fi access points to calculate the precise locationof any Wi-Fi enabled device. For this system, known Wi-Fi networks aremapped, e.g., by having hired drivers travel every street in aneighborhood, and a user's location is calculated based on the Wi-Finetworks the Wi-Fi enabled device detects at a given moment usingproprietary software. If the device can identify three networks, it candetermine its position, e.g., using triangulation. The more networks thedevice detects simultaneously, the more accurate the locational fix.

SUMMARY OF THE INVENTION

A method in accordance with the invention includes maintaining acollaborative database on a database server containing geographiclocation information pertaining to Wi-Fi access points. Thecollaborative database includes database records for each of a pluralityof Wi-Fi access points including a MAC address and geographic locationof the Wi-Fi access point. At least a portion of the database recordsare based on Wi-Fi identification and geographic location data receivedfrom a plurality of Wi-Fi- and GPS-enabled wireless devices such thatthe collaborative database is built in a collaborative manner. Further,the method includes receiving, at a server, a position location requestfrom a wireless device that is Wi-Fi enabled, the position locationrequest including a respective MAC address of at least one Wi-Fi accesspoint for which a wireless beacon is detected by the wireless device.The method also includes retrieving, via a query issued to the databaseserver using at least one MAC address included in the position locationrequest, geographic location data for at least one of the Wi-Fi accesspoints from the collaborative database. The method further includesdetermining, via a processor, a geographic location of the wirelessdevice based at least on the geographic location data retrieved from thecollaborative database, and returning, via the server, geographiclocation data to the wireless device corresponding to the geographiclocation of the wireless device that is determined.

The geographic location data may include a latitude and longitude value.The wireless device may comprises or be a cell phone. The method mayalso include providing software configured to be executed on a Wi-Fienabled wireless device. The software, upon execution, preferablyenables the Wi-Fi enabled wireless device to identify a MAC address forat least one Wi-Fi access point transmitting a wireless beacon that isreceived by the Wi-Fi enabled wireless device, generate a positionlocation request including a respective MAC address for each of the atleast one Wi-Fi access point transmitting a wireless beacon for which aMAC address is identified, and send the position location request to aserver configured to facilitate access to the collaborative database.The software may be further configured, upon execution, to enable a userof the Wi-Fi enabled wireless device to cause the Wi-Fi enabled wirelessdevice to generate and send a position location request to the server inresponse to selection of an icon by the user.

Another method in accordance with the invention includes maintaining acollaborative database on a server system containing geographic locationinformation pertaining to Wi-Fi access points, the collaborativedatabase may be as described above, and receiving, at the server system,a position location request from a wireless device that is Wi-Fienabled. The position location request includes a respective MAC addressof at least one Wi-Fi access point for which a wireless beacon isdetected by the wireless device. The method also includes retrieving,via a query issued to the server system using at least one MAC addressincluded in the position location request, geographic location data forat least one of the Wi-Fi access points from the collaborative database,and determining, via a processor, a geographic location of the wirelessdevice based at least on the geographic location data retrieved from thecollaborative database. The method further includes returning, via theserver system, geographic location data to the wireless devicecorresponding to the geographic location of the wireless device that isdetermined. Variations to this method may be as described above.

Still another method in accordance with the invention includes receivingat a database server, first Wi-Fi access point location data from afirst wireless device that is GPS-enabled and Wi-Fi-enabled. The firstWi-Fi access point location data includes GPS location data generated bythe first wireless device, and a MAC address of a first Wi-Fi accesspoint for which a wireless beacon is detected by the first wirelessdevice. The method also includes processing, via a processor, the firstWi-Fi access point location data to generate geographic location datafor the first Wi-Fi access point, adding the geographic location dataand MAC address of the first Wi-Fi access point to a collaborativedatabase containing Wi-Fi access point location data, and receiving, ata server, a position location request from a second wireless device thatis Wi-Fi enabled. This position location request includes a MAC addressof the first Wi-Fi access point for which a wireless beacon is detectedby the second wireless device. The method further includes retrievingvia a query issued to the database server, geographic location data forthe first Wi-Fi access point from the collaborative database, anddetermining, via a processor, a geographic location of the secondwireless device based at least on the geographic location data for thefirst Wi-Fi access point. Finally, the method includes returning, viathe server, geographic location data to the second wireless devicecorresponding to the geographic location determined for the secondwireless device.

The geographic location data may include a latitude and longitude value.Each of the first and second wireless devices may comprise or are cellphones. The method may also include providing software configured to beexecuted on the first wireless device. The software, upon execution,preferably enables the first wireless device to identify a MAC addressfor at least one Wi-Fi access point transmitting a wireless beacon thatis received by the Wi-Fi enabled wireless device, determine a geographiclocation of the first wireless device through use of GPS facilitiesprovided by the first wireless device, generate the first Wi-Fi accesspoint location data, and send the first Wi-Fi access point location datato a server configured to facilitate access to the collaborativedatabase.

Addition of the geographic location data and MAC address of the firstWi-Fi access point to the collaborative database may be performed onlywhen the geographic location data and MAC address of the first Wi-Fiaccess point is not already present in the collaborative database.

Another method in accordance with the invention includes receiving, at adatabase server from each of a plurality of GPS-enabled andWi-Fi-enabled wireless devices, respective sets of Wi-Fi access pointlocation data. Each set of Wi-Fi access point location data includes foreach Wi-Fi access point from which a wireless beacon transmitted from aWi-Fi access point is detected by the GPS-enabled and Wi-Fi-enabledwireless device, a MAC address of the Wi-Fi access point, and GPSlocation data generated by the GPS-enabled and Wi-Fi-enabled wirelessdevice. For each of at least a portion of the respective sets of Wi-Fiaccess point location data that is received, the method includesprocessing, via a processor, data in the set of Wi-Fi access pointlocation data to generate geographic location data for at least oneWi-Fi access point having a MAC address included in the set of Wi-Fiaccess point location data, and adding the geographic location data andMAC address of the at least one Wi-Fi access point to a collaborativedatabase containing Wi-Fi access point location data.

The method may also include receiving, via a server, a position locationrequest from a requesting wireless device that is Wi-Fi enabled. Theposition location request includes a MAC address corresponding to atleast one Wi-Fi access point for which a wireless beacon is detected bythe requesting wireless device. In response to receiving the positionlocation request, the method entails retrieving geographic location datafrom the collaborative database for at least one Wi-Fi access point forwhich a MAC address is provided in the position location request, anddetermining, via a processor, a geographic location of the requestingwireless device based at least on the geographic location data for theat least one Wi-Fi access point. The method also includes returning, viathe server, geographic location data to the requesting wireless devicecorresponding to the geographic location determined for the requestingwireless device.

In one embodiment, the method entails receiving, at the database serverfrom a GPS-enabled and Wi-Fi-enabled wireless device, a set of Wi-Fiaccess point location data including a MAC address for a Wi-Fi accesspoint transmitting a wireless beacon received by the GPS-enabled andWi-Fi-enabled wireless device. For each of a plurality of geographiclocations, also received are GPS-measured coordinates, generated by theGPS-enabled and Wi-Fi-enabled wireless device, and at least one signalstrength measurement of a wireless beacon transmitted from the Wi-Fiaccess point measured by the GPS-enabled and Wi-Fi-enabled wirelessdevice. The method then preferably includes processing, via theprocessor, data in the set of Wi-Fi access point location data togenerate geographic location data for the Wi-Fi access point, and addingthe geographic location data and MAC address of the Wi-Fi access pointto the collaborative database.

Addition of the geographic location data and MAC address of each Wi-Fiaccess point to the collaborative database may be performed only whenthe geographic location data and MAC address of the Wi-Fi access pointis not already present in the collaborative database.

Other and further objects, advantages and features of the presentinvention will be understood by reference to the following specificationin conjunction with the annexed drawings, wherein like parts have beengiven like numbers.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention, together with further objects and advantages thereof, maybest be understood by reference to the following description taken inconjunction with the accompanying drawings, wherein like referencenumerals identify like elements, and wherein:

FIG. 1 is a schematic of a general concept used in the invention forenabling position of a mobile device to be determined.

FIG. 2 is a schematic showing a scanner used to create a database ofwireless beacons in accordance with the invention.

FIG. 3 is an illustration of multiple scanner readings obtained tocreate the database of wireless beacons.

FIG. 4 is a flowchart showing the mapping of wireless beacons from thescanner readings.

FIG. 5 is a flowchart showing the determination of the position of amobile device based on instantaneously received signals from wirelessbeacons and the database thereof.

FIG. 6 is a schematic of an embodiment of the invention for enabling amobile device to determine its position.

FIG. 7 is a schematic of a first embodiment of a message-based locationresponding system in accordance with the invention.

FIG. 8 is a schematic of a second embodiment of a message-based locationresponding system in accordance with the invention.

FIG. 9 is a schematic of a method which provides notification whenmonitoring the location of a mobile device relative to a region ofinterest, and specifically when the mobile device enters into the regionof interest.

FIG. 10 is a schematic showing main components of a monitoring system inaccordance with the invention which can implement the steps shown inFIG. 9.

DETAILED DESCRIPTION OF THE INVENTION

Referring first to FIG. 1, to provide a system and method for enabling amobile device to determine its position using a wireless and/orsatellite-based positioning system irrespective of the reception ofpositioning signals therefrom by the mobile device, each mobile device10 is coupled to a wireless or satellite-based positioning systems suchas a GPS device 12 such that the mobile device 10 and GPS device 12 areeffectively collocated. Using positional data provided by the GPS device12 and data about wireless beacons, Wi-Fi access points, cell phonetowers or other comparable systems (hereinafter referred to as beacons)within reception range of the mobile device 10, the mobile device 10creates a database of wireless beacons within a wireless positioningsystem 14 including the geographic location of each beacon (the exactmanner in which such a database is formed is described below).

A software switch 16 is interposed between the GPS device 12 and themobile device 10 to vary the manner in which a determination by themobile device 10 of its position is made. Specifically, when the GPSdevice 12 receives an accurate positioning signal, switch 16 would allowthis GPS signal to be directed to the mobile device 10 so that themobile device would consider its position that determined by the GPSsignal. On the other hand, when the GPS device 12 is unable to providean accurate GPS signal, switch 16 would allow a positioning signalderived from the wireless positioning system 14, and based on input fromthe mobile device 10 at that time, to be directed to the mobile device10 and the mobile device 10 would consider its position that indicatedby this positioning signal.

Switch 16 would operate to revert back to allowing a GPS signal from GPSdevice 12 to be directed to mobile device 10 once GPS device 12 providesan accurate GPS signal. Accuracy of the GPs signal can be made in amanner known to those skilled in the art.

Accordingly, the mobile device 10 would be able to continuously know itsposition even in the absence of an accurate GPS signal. The mobiledevice 10 could be designed to indicate the source of its positioningsignal, e.g., an icon on a screen thereof could indicate either asatellite-derived signal (a signal from GPS device 12) or adatabase-derived signal (a positioning signal from wireless positioningsystem 14).

Although represented as separate elements in FIG. 1, this is for thepurposes of explanation only and it should be understood that mobiledevice 10 can include wireless positioning system 14 and switch 16 canbe software implemented in the mobile device 10. Moreover, GPS device 12can also be incorporated into the mobile device 10 so that a singlehand-held or portable unit could include the entire system in accordancewith this embodiment of the invention.

The database of wireless beacons in wireless positioning system 14 canbe considered a map which associates the fixed physical location of eachwireless beacon, i.e., where they are geographically located, with aunique or semi-unique identification code of each wireless beacon. Thelocation of each beacon can be expressed, for example, by latitude andlongitude, or possibly by another coordinate system.

Construction of such a map may be accomplished in a variety of ways, thesimplest but most labor intensive being to place a positioning device,e.g., a GPS device, at the same location of each wireless beacon tothereby obtain the physical location of the wireless beacon from the GPSdevice. This however is highly impractical in view of the constantaddition of wireless beacons and the manpower that would be required.

A preferred and far simpler method would be to collect data about eachwireless beacon based on information about the strength of a signalprovided by each wireless beacon at a plurality of locations at which asignal from that wireless beacon is being received. Basically, thegeographic location of each wireless beacon is determined based onanalysis of the signal strength provided by that wireless beacon as afunction of geographic location.

To enable such an analysis, a scanner 18 is equipped or collocated witha GPS device 20 and during movement of the scanner 18, a series ofreadings consisting of the position of the scanner 18, obtained usingthe GPS device 20, and the strength of the signal received at thisposition are obtained from a wireless beacon (see FIG. 2). The scanner18 may be a hand-held mobile device such as a PDA or cell phoneincluding a processor having software 22 designed to analyze the signalreceived via an antenna 24 from every single beacon at differentpositions and estimate a geographic location thereof. A series ofreadings for each beacon will be stored in a database 26. Thus, ifmultiple beacons are being mapped, there will be multiple series ofreadings.

Referring to FIG. 3, these readings will look like a series of data setsdesignated (Xi, Yi, Si) where Xi and Yi are the latitude and longitude,respectively, of the position of the scanner 18 and Si is the strengthof a signal received at this position from wireless beacon 28. With thescanner 18 at position P1, a reading of (X1,Y1,S1) is obtained, with thescanner 18 at position P2, a reading of (X2,Y2,S2) is obtained and withthe scanner 18 at position P3, a reading of (X3,Y3,S3) is obtained.

Each series of readings, i.e., the readings obtained from eachindividual beacon 28, recorded by the scanner 18 may be stored in thescanner's memory. To obtain an estimated position of each beacon, theseries of readings relating only to that beacon is input to acalculation algorithm 30 that processes the readings to provide asoutput, an estimated position of the beacon 28 (see FIG. 4). If multipleseries of readings are input to the algorithm, then the position of allof the beacons 28 from which readings were obtained will be output.

Note that at each position of the scanner 18, multiple readings can beobtained, one for each beacon 28 in reception range of the scanner 18.These readings can be stored with an identification of the beacon 28 sothat the readings can later be combined with other readings from thesame beacon 28 in order to determine the location of the beacon 28.

Different calculation algorithms 30 can be used in the invention toprocess each series of readings into the position of the beacon 28.These include Centroid, triangulation, Newton and the like. Anexemplifying calculation algorithm 30, namely the Centroid algorithm, isdescribed below. Generally, regardless of which algorithm 30 is used,approximately the same estimated position of the beacon 28 will beobtained and thus, the invention is not limited to use of any particularalgorithm.

It is important to bear in mind that scanner 18 can be and typically isthe same as mobile device 10 (in which case, GPS device 20 is the sameas GPS device 12, the software 22 and database 26 would be part of thewireless positioning system 14 and antenna 24 would be part of themobile device 10). This embodiment will be considered hereinafter. Inthis case, mobile device 10 would not only create and/or update thedatabase 26 of wireless beacons in the wireless positioning system 14via operation of the scanning software 22 (when GPS signals from GPSdevice 12, 20 are available) but would also use the same database 26 ofwireless beacons it is updating to determine its position in the absenceof an accurate GPS signal from the GPS device 12, 20 (when GPS signalsfrom GPS device 12, 20 are not available). Thus, when GPS signals areavailable and switch 16 is allowing the GPS signal from the GPS device12, 20 to be directed to the mobile device 10, mobile device 10 isworking as scanner 18 to scan the area around the mobile device 10 todetermine the presence of (unmapped) wireless beacons and obtaingeographic positional information about these unmapped wireless beaconsfor inclusion in the database 26 of wireless beacons resident in thewireless positioning system 14.

After the estimated position of the beacons is obtained, the final stepin creating the database 26 of wireless beacons in wireless positioningsystem 14 is to store the positions of the beacons 28 in a database in amanner in which the position of the beacon is associated with anidentification code. For example, the position of each beacon 28 can bestored in the database 26 in the form (Id, X, Y) where Id is a uniqueidentification associated with or referencing the beacon 28 and X, Y arethe latitude and longitude coordinates, respectively, of the beacon 28as determined in the manner described above.

The database creation step continues whenever a GPS signal is availableand the position of the scanner 18 has changed. Thus, when the scanner18 is the same as mobile device 10, movement of the mobile device 10 inthe presence of a GPS signal from GPS device 12, 20 can result incontinuous updating of the database 26 of wireless beacons in wirelesspositioning system 14.

In the exemplifying use described above with respect to FIG. 1, thedatabase 26 of wireless beacons in wireless positioning system 14 isused only when a GPS signal from GPS device 12, 20 is unavailable. Atthis time, it is necessary to input data into the database 26 todetermine the position of the mobile device 10.

With reference to FIG. 5, determining the position of the mobile device10 using the database 26 of wireless beacons in wireless positioningsystem 14 entails querying a receiver unit of the mobile device 10,i.e., a network adapter or cell antenna 24, to find out which wirelessbeacon(s) 28 are “visible” and what is the strength of the signalreceived by the receiver from each wireless beacon 28. Visible beacons28 are those from which the receiver receives a signal.

From the antenna 24, the mobile device 10 will obtain a series ofreadings each containing the unique identification associated with orreferencing one of visible wireless beacons 28 and the strength of thesignal from that wireless beacon 28. This series of readings can beexpressed in the form of (Id, Si) where Id is the unique identificationof the wireless beacon 28 and Si is the signal strength.

The mobile device 10 then submits this information to database 26 inwireless positioning system 14 which contains the geographic location ofthe wireless beacons 28 in association with their identification. Usingthe data contained in the database 26, the corresponding, estimatedgeographic location of the wireless beacon 28 is obtained based on itsidentification contained in the information and is associated with thesignal strength.

After the location of the visible beacon(s) 28 associated with theantenna 24 is known, a series of (Xi, Yi, Si) records is provided to thecalculation algorithm 30 to estimate the position of the antenna 24,i.e., the position of the mobile device 10.

As described above, a calculation algorithm 30 is used to determine theposition of a wireless beacon 28 when creating the database 26 ofwireless beacons and also to determine the position of the mobile device10 in the absence of a GPS signal from GPS device 12, 20.

When determining the position of a wireless beacon 28 in the mappingmode from the series of readings (Xi,Yi,Si) to determine the position(X,Y) of the wireless beacon 28, the Centroid calculating algorithmaverages the latitudes and longitudes recorded and adds the signalstrength squared as a weight:X=(S1² *X1+S2² *X2+ . . . +Sn ² *X2)/(S1² +S12² + . . . +Sn ²)Y=(S1² *Y1+S2² *Y2+ . . . +Sn ² *Y2)/(S1² +S12² + . . . +Sn ²)where X and Y are the estimated position of the beacon 28 and the Si,Xi, Yi the information recorded by the scanner 18.

When estimating the position of the mobile device 10 using the sameformula, Xi, Yi would be the coordinates of the wireless beacons 28referenced in the database 26 and Si would be the strength of the signalreceived from those same wireless beacons 28.

Applying the database mapping technique described above using scanner18, when incorporated into the mobile device 10 with a common GPS device12, it becomes possible to create a collaborative database. That is, adatabase which is continually being updated with data about new wirelessbeacons can be formed. Scanner 18 obtains identification and signalstrength data about new, unmapped wireless beacons when the GPS device12 receives accurate positioning signals and determines the position ofthe unmapped wireless beacons for inclusion in the database of wirelessbeacons in the wireless positioning system 14 which is used whenaccurate GPS signals from GPS device are not available. The samepositional information about previously unmapped wireless beacons beingdirected to the database in the wireless positioning system 14 can alsobe directed to a central monitoring or administration facility which ischarged with the responsibility for providing an accurate database ofwireless beacons. The positional information can be forwarded to thisfacility periodically, such as every 24 hours. In conjunction with anupload of positional information about new wireless beacons, positionalinformation about new wireless beacons obtained from other mobiledevices 10 can be downloaded from the facility.

The central facility thereby oversees collection of individualcontributions to the database, one from each participating (collective)mobile device, and disseminates the collection of the individualcontributions to all mobile devices using the same positioningtechnique. It must be understood that not all mobile devices 10 will beequipped with a scanner 18 in which case, only some mobile devices wouldcontribute positional information to the central facility but all mobiledevices would preferably receive the update of positional information.Since the uploading of the positional information from the mobiledevices to the central facility and downloading of the positionalinformation from the central facility to the mobile devices may be donewithout involvement of the user, the central and individual databases ofwireless beacons can therefore be passively created, updated anddisseminated.

Database 26 of wireless beacons can be maintained by the centralfacility and in addition or alternatively, can be installed onto adeployable server, e.g., server 30 of FIG. 6. Such a deployable server30 can be sold or leased to customers to enable them to continuallydetermine the position of any movable device having an Internetconnection under their authority or control, without requiring access tothe central facility. The server 30 could be periodically provided withdatabase updates. In this manner, a large company for example, couldemploy such a server 30 to track its personnel and vehicles havingmobile devices. By separating the database construction and databaseuse, such a company would not have to concern itself with the scanningfeature to create and update the database as described above.

The deployable server 30 could also be operated in conjunction withscanners by the purchaser or lessor of the server 30. That is, a clientcould have control of both the mapping or scanning functions and theposition locating system. A third party could provide management andstorage of the database, control access to the database and positionlocation information as per the customer's specification and otherwiserelieve the customer of the responsibilities of managing the system.

Another application of the ability to determine the position of a mobiledevice 10 in accordance with the invention, and primarily laptopcomputers, is the ability to provide an Internet-based service thatwould almost immediately advise the user of a mobile device 32, 34 oftheir position (see FIG. 6). This service could be formed as a computersoftware program, downloadable upon request, and installed in the mobiledevice 32, 34. The user's position would be provided either continually,periodically or upon request. The latter implementation is a “querymode” of use of the invention

In the query mode, an icon could be created to enable initiation of apositional display so that whenever the user wants to know his or herposition, they could click on the icon and their position would beprovided (in the manner as described above with reference to FIG. 5).Such an icon could be continually or periodically displayed on thescreen and whenever clicked by the user, the user's position would bedisplayed. A background icon could also be formed. It is important tonote that the user's position can be continuously determined and onlydisplayed upon request by the user or the user's position could be bothdetermined and displayed only upon request by the user.

Additionally or alternatively, the program can provide an option to theuser to have a section of the screen display the user's position. Such adisplay may occupy a corner of the screen.

In this scheme, the user of the mobile device is able to obtain his orher position even though the mobile device is not equipped with a GPS orother satellite-based position determining system (mobile device 32).Rather, using only a Wi-Fi connection to the Internet, and specificallya link to a server or site 30 which maintains the database of beacons26, the user is able to communicate with the site 30 and be providedwith their position. Such a service may be a fee-based service whereinthe users pay a monthly fee, pay per request for their position, freesubject to position-based advertising exposure or any other manner knownto those skilled in the art of providing an Internet-based service.

The foregoing description of embodiments of the invention for positiondetermination of mobile devices relies on the knowledge of the exactidentification details of wireless beacons, including their countryidentifier, region identifier and cell identification. Thus, when a userrequests the position of their mobile device, the algorithm can use thebeacon information and provide the user's position. However, in somecountries or regions of countries, there may be an insufficient numberof known beacons in the database, or possibly no beacons in thedatabase, to provide the exact position of the user.

In this case, so long as the mobile device is able to connect wirelesslyto the Internet using one or more beacons, the program can neverthelessprovide a country identifier at a minimum from the data about knownbeacons in the database, and based on the ability of the mobile deviceto communication with the beacon(s). In addition, often it will bepossible to provide the region identifier from the data about knownbeacons in the database when the mobile device is capable ofcommunicating with one or more of the beacons. Although a determinationof the user's country identifier and possibly region identifier is oftennot optimal, it is significantly better that the absence of adetermination of any positional information.

The problem may arise when the identification of the beacon with whichthe mobile device is communicating is not known, i.e., is not in thedatabase. The inability to provide accurate positional information willpersist until the mobile device maps the beacon, if it is able, or thedatabase is updated with information about the unidentified beacon.

Another feature of the system in accordance with the invention is theability to track mobile devices. This feature involves creating a groupof authorized users (of mobile devices) among which the position of allof the users in the group will be shared, either directly or through aserver 30. So long as each user communicates with a wireless beacon,each user's position is determined by the system in the user's mobiledevice and provided through the wireless Internet connection (andpossibly the server 30) to the other users in the group. Each user candetermine when they want their position to be provided to the otherusers in the group. This embodiment is operative whenever the user'smobile device is GPS-enabled, e.g., mobile device 34, and for thoseusers without GPS-enabled mobile devices, e.g., mobile device 32, it isstill operative when they are present in a mapped area and capable ofcommunicating with a server 30 containing the beacon database 26, toenable their position to be determined based on the signals fromwireless beacons in the manner described above.

Creation of a group may also be applicable when forming a database ofwireless beacons. A group can be created which shares databaseinformation among the members of the group prior to forwarding thedatabase updates to the central server 30. In this case, only one memberof the group needs to communicate with the central server 30 to providethe update information and receive update information in return. Thereceived update information is them disseminated to the other members ofthe group. It becomes apparent that only one member of each group isrequired to communication with the central server 30.

Yet another feature of the system described above is the ability topresent to the user information based on their position. For example,once the mobile device determines its position in the manner describedabove, the user can be provided with an entry field to input a desiredtype of establishment, e.g., coffee shop, hotel, restaurant, pharmacy,and the system will then look up using the Internet connection, one ormore closest establishments based on the user's position.

Once the position of mobile devices is determined in accordance with theinvention, and thus the position of the users' thereof, it becomespossible to use the positional data in various ways. One way is totailor advertising to the users based on their position. Another way isto provide information about requested types of establishments asdescribed above. Another way is to perform a statistical analysis of theposition of users to specific websites. That is, the operator of awebsite may want information about the location of the people accessingthat website and using mobile device. The invention can readily providesuch information in that it determines the users' locations and canforward that information to the website operator whenever the user islinked to the website.

Yet another way is to use the user's location to limit or restricttransmission of data, i.e., if the user is present in a certain country,transmission of certain data to that country would not be possible.Also, the server's determination of the geographical location of theuser's mobile device can be used to verify or confirm information aboutthe user's location provided by the user. That is, if the user inputsinformation indicating they are situated in one place while the serverdetermines they are situated in a different place, transmission of datato the user can be restricted in view of this discrepancy.

Referring now to FIGS. 7 and 8, any of the foregoing techniques for amobile device to determine its location may be applied in a platform orsystem 40 which can provide the location of a first mobile device 42 toa second device 44 upon request by that second device 44, with orwithout the user of the first device 42 knowing that their position isbeing provided to the second device 44. That is, one person can obtainthe location of another person, or at least the location of their mobiledevice which will be assumed to be the same as the location of thatperson, using communications involving the devices 42, 44 and a centralserver 46. Although the second device 44 may be a mobile device, it maybe another electronic device, including a computer at a generally fixedlocation, which can connected with the central server 46 and transmitmessages to the first mobile device 42.

System 40 relies on the use of the transmission of messages betweenelectronic devices, such as SMS messages, the protocol for which iswell-known in the art and the programming required for computer softwarein a mobile device or other wireless computing device to generate suchmessages is also well-known in the art. When the user of the seconddevice 44 wants to obtain the location of the user of the first device42, the user would operate the second device 44 to generate a query forthe location of the first device 42. The computer program in the seconddevice 44 would include a query application to allow for generation ofthe query. This query would be converted by the computer program in thesecond device 44 into an SMS message which is directed to the firstdevice 42 (the transmission of this query being represented by an arrowfrom the second device 44 to the first device 42). A computer program inthe first device 42 receives the SMS message, interprets it as a requestfor the location of the first device 42 and then initiates adetermination of its location.

The query for the location of the first device 42 may also be generatedusing push e-mail, in which case, the computer program at the seconddevice 40 would include a push e-mail generating application. Thecomputer program at the second device 44 may also be arranged to receivedata about the first device 42, e.g., an e-mail address or phone number,and generate the query in an appropriate form based thereon, e.g., pushe-mail or SMS message.

After initiation of the location determining feature of the first device42, the location of the first device 42 may be determined or otherwiseobtained using any of the various techniques described above. In onetechnique, the first device 42, if equipped with a GPS-enabled locationdetermining application, would determine its location using GPS. If thefirst device 42 is unable to obtain a satisfactory GPS-based locationdetermination or does not have GPS capabilities, it may access itsinternal database of known wireless access beacons and their location,and determine its location from signals being received from thesewireless beacons (see the detailed discussed above for an explanation ofthis technique).

Alternatively, the first device 42 may interact with the central server46, transmitting a request to the central server 46 for its location(represented by the arrow from the first device 42 to the central server46), with the central server 46 then determining the location of thefirst device 42. The computer program in the first device 42 may bearranged to transmit this request to the central server 46 via an SMSmessage or using an Internet protocol (http or TCP/IP). To enable thecentral server 46 to determine its location, the first device 42 wouldprovide information about, for example, its reception of signals fromwireless beacons to the central server 46 which would then determine thelocation of the first device 42 based on such information in combinationwith data from a database maintained by or other accessible to thecentral server 46 about the location of the wireless beacons (see thedetailed discussion above for an explanation of this technique). Theselocation determining techniques are examples of the manner in which thelocation of the first device 42 may be determined and are not meant tolimit the invention in any way whatsoever. Indeed, the inventionexpressly contemplates the use of alternative techniques to determinethe location of the first device 42, known to those skilled in the art,upon initiation of a request for such a determination by the firstdevice 42.

Once the location of the first device 42 is determined, it is providedto the second device 44.

As shown in FIG. 7, the location of the first device 42 may be provideddirectly from the central server 46 to the second device 44 in any knownmanner (represented by the arrow from the central server 46 to thesecond device 44). One such manner is the use of an SMS message, inwhich case, the second device 44 could generate an SMS message to obtainthe location of the first device 42 and receive a responsive SMS messageproviding the location of the first device 42.

In the alternative, as shown in FIG. 8, the location of the first device42 is directed to the second device 44 by transmitting the determinationof the location of the first device 42 from the central server 46 to thefirst device 42, for example using Internet protocol, and thentransmitting the location of the first device 42 from the first device42 to the second device 44, for example, using Internet protocol (eachof these transmission is represented by an arrow). In this case, thereis no direct communication of the location of the first device 42 fromthe central server 46 to the second device 44.

For certain purposes, it may not be desirable to notify the user of thefirst device 42 that their position is being provided to the seconddevice 44. To this end, the computer program in the first device 42 maybe programmed to initiate its location determination and interact withthe central server 46 without causing a change in the operation of thefirst device 42 which is discernible by the user. That is, the computerprogram avoids indicating any operation of the location determiningapplication and any indication of a received communication from thesecond device 44. Moreover, the central server 46 would not transmit thedetermined location of the first device 42 thereto, or if transmitted,the computer program at the first device 42 may be programmed to storethe determined location and use it only upon subsequent need or requestby the first device 42.

One way to avoid notifying the user of the first device 42 that theirlocation is being determined and provided to the second device 44 is tomonitor a queue of incoming SMS messages and e-mail messages andautomatically detect a query from another device, such as the seconddevice 44, for the location of the first device 42, which is in the formof a message. Specifically, the computer program at the first device 42would analyze the queue of incoming messages before there are indicatedas being received to the user of the first device 42, grab any querymessages from the queue relating to a location determination, recognizethe need to initiate the location determining function from the grabbedquery messages, initiate the location determining function and removethe query messages from the queue to avoid their presentation to theuser. The query messages could also be left in the queue if it is notdesired to prevent the user of the first device 42 from seeing thatothers want to know their location.

To enable the computer program to detect query messages, a predetermined“action code”, or term, may be used by the second device 44 to includeor associate with the query with the computer program in the firstdevice 42 being arranged to recognize the action code or term. Theaction codes or terms may be provided by the central server 46.

In order to enable the first and second devices 42, 44 to perform asdescribed above, each must be provided with a computer program embodiedon computer-readable media therein. The computer program may include alocation determination/notification application (which performs thefunctions of the first device 42 as described above) or a queryapplication (which performs the functions of the second device 44 asdescribed above) or both. That is, a device may be provided with onlythe query component if the user thereof only wants to be able to obtainthe location of other mobile device users without their location beingobtainable, or with only a location determination component which wouldnot allow the user to obtain the location of other mobile device users.These computer program components may be downloaded and installedindividually or in combination.

The computer program in the first device 42 may be arranged to detectreceipt of a location determination query from another device, possiblyauthenticate the request to avoid misuse of the system 40, and theninitiate a determination of the location of the first device 42. Thecomputer program may be designed to monitor a queue of incoming SMSmessages and e-mails, detect a query message from another device for thelocation of the first device 42, grab any query messages, recognize theneed to initiate the location determining function from the grabbedquery messages and then initiate the location determining function andoptionally remove the query messages from the queue. If a predeterminedaction code or term is used and associated with a message to indicate itis a query message, then the computer program would analyze the incomingmessages for the presence of the action code or term. The action codesor terms could be stored in a memory of the first device 42 which isaccessed by the computer program.

Initiation of the location determining function may entail generatingand transmitting a request to the central server 46 for the location ofthe first device 42. Alternatively, the computer program determines thelocation of the first device 42 and would then control a transmissionapplication to transmit it to the central server 46, for example, usingSMS messages or Internet protocol. The computer program may optionallybe arranged to avoid notifying a user of the first device 42 of thedetection of the query from the second device 44 for the location of thefirst device 42, as well as the subsequent actions arising from thereceipt of the query.

The computer program in the first device 42 also controls a transmissionunit to transmit its determined location to the second device, forexample, using Internet protocol, when the first device serves a conduitbetween the central server 46 and the second device 44 (see FIG. 8).

The computer program in the second device 44 may be arranged to enable aquery for the location of another device having at least the locationdetermination component of the same computer program, such as the firstdevice 42, to be generated, e.g., via an SMS message application or apush e-mail application, and direct the query to the first device 42.The query may be directed via a communications network in the samemanner as existing SMS messages or e-mail messages are transferredbetween wireless computing devices or mobile devices or other computers.If action codes are used, the computer program would be arranged toinclude or otherwise associate an action code or term with the messagesto designate it as a query message, and thereby enable the computerprogram on the first device 42 to detect that the message is a querymessage requiring initiation of a location determining function of thefirst device 42.

The central server 46 also includes a computer program embodied oncomputer-readable media which coordinates the interaction between thedevices 42, 44 using the location determining platform or system 40. Itwould therefore control a transmission unit of the central server thedirect the determined location of the first device 42, whether providedby the first device 42 or determined at the central server 46 based onsignals received from the first device 42, to the second device 44. Itwould also control the transmission unit to direct the responsive SMSmessage to the second device 44 (see FIG. 7) and the transmission to thefirst device 42 (see FIG. 8).

The embodiment wherein first device 42 is not notified and does notreact to the query message from the second device 44 has excellentapplication in the field of recovering lost or stolen objects. If thefirst device 42 is lost or misplaced, the owner of the first device 42can send a query message to the first device 42 from a second device 44causing the first device 42 to return its location to the second device44 thereby providing the owner with the location of the lost ormisplaced first device 42.

For stolen objects, recovery of not only the first device 42 itself butalso of objects associated with the first device 42 is greatlyfacilitated since the first device 42 can provide its location withoutthe possessor thereof knowing that the location is being provided. Thus,if the first device 42 is stolen, the owner of the first device 42 cansend a query message to the first device 42 from a second device 44causing the first device 42 to return its location to the second device44 thereby providing the owner with the location of the stolen firstdevice 42. This location can be provided to law enforcement authoritieswho can proceed to the location to retrieve the stolen first device 42and possibly apprehend the thief.

If the first device 42 is situated in a vehicle, or incorporated intothe vehicle, and stolen, the owner of the first device 42 can again senda query message to the first device 42 from a second device 44 causingthe first device 42 to return its location to the second device 44thereby providing the owner with the location of the stolen vehicle.This location could be provided to law enforcement authorities who canproceed to the location to retrieve the stolen vehicle and possiblyapprehend the thief.

A system is also envisioned whereby vehicles could be provided withmobile devices like the first device 42 and law enforcement authoritiesare provided with a second device 44, any computer equipped with thequery generating software component whether situated at a police stationor in a mobile police vehicle, and software is provided to enable thelaw enforcement authorities to determine the locations of any vehicles.In this case, a vehicle owner would report a stolen vehicle to the lawenforcement authorities who would then use their second device 44 send alocation determining query to the first device 42 on that vehicle andretrieve the location of the vehicle. In view of the relatively low costfor hardware and software components to implement the first device 42,this would provide a relatively inexpensive vehicle theft preventionsystem. Also, the first device 42 can be situated on the vehicle in amanner which prevents its removal and tampering therewith.

Referring now to FIG. 9, another method for monitoring a wirelesscomputing device or mobile device in accordance with the invention willbe described. In this method, the location of the mobile device ismonitored relative to a specific area or region of interest which may bedetermined by the user of the mobile device or another person who wantsto know where the user of the mobile device is located, assuming theirmobile device is at the same location. This method does not requiresending a query such as an SMS message to initiate a locationdetermining function of the mobile device. Rather, in this embodiment, atechnique is provided which allows a person to designate a region ofinterest and associate the region of interest with a mobile device sothat when the mobile device leaves, is within or enters into this regionof interest, notification is automatically provided about suchdeparture, presence or entry.

This technique has tremendous application in the field of monitoringpeople. For example, it is possible for parents to monitor their child'sdeparture from or arrival at their house, school, a friend's house, anextracurricular activity, or any other location by simply providing thelocation of their house, the school, the friend's house or theextracurricular activity so that when the child leaves or arrives at theprovided location, the parent is notified of the child's departure orarrival. Another application is when a person wants to monitor their ownlocation, i.e., self-monitoring. In this case, a person might betraveling on a train, such as a commuter, and wants to know when theyarrive at a particular station. The person could provide the location ofthe station and they themselves would be notified when they arrive atthe station.

FIG. 9 shows a method which would provide notification when a mobiledevice enters into a region of interest. The same steps would be presentin a method for determining when a mobile device leaves a region ofinterest, with the notification being generated when the location of themobile device changes from inside the region of interest to outside ofthe region of interest instead of when the location changes from outsideof the region of interest to inside of the region of interest.

Accordingly, the method involves initial steps of defining a geographicregion of interest, step 50. The region of interest is an area intowhich the person wants to know when they or another person possessing amobile device enters. The region of interest may be entered using aninteractive map database whereby the person is presented with anopportunity to provide an address or part thereof and a relevant map isdisplayed. The person can then use a user interface, such as a mouse orstylus, and demarcate the region of interest on the displayed map.Existing map databases may be used such as those provided by Mapquestand Google maps. Such features as zoom may be used to bring the map tothe desired resolution for the person to define the region of interest.

Also, the actual application which enables the region of interest to bedefined may be by pointing at corners of a rectangular box on the map tothereby define a rectangular region of interest or, or by clicking at asingle point and having a circle form at a fixed radius from this pointto thereby define a circular region of interest. The invention envisionsnumerous ways to demarcate a region of interest upon viewing a map.Moreover, it is possible to define a region of interest without viewinga map hereby an address is provided and is automatically converted intomap coordinates.

Additional initial steps in the method are to identify the mobiledevice, the location of which relative to the defined region of interestis to be monitored-step 52, and create or select a notification signalto be generated based on the location of the identified mobiledevice-step 54. Then, the defined region of interest is stored inassociation with an identification of the mobile device in a memorycomponent, and the request for the notification signal to be sent, step56. The person defining the region of interest may be provided with thepossibility of either freely selecting a notification signal orselecting one of a number of different available notification signals inthe form of templates or messages (SMS messages or e-mail messages) toassociate with the region of interest and the mobile device. Theselection may be performed using a drop down list or a cutting andpasting maneuver whereby the person defines the region of interest,provides the mobile device identification and then attaches a template.One skilled in the art could readily design such a user interface inview of the disclosure herein, which user interface is also beconsidered part of the invention.

The next step 58 is for the location of the mobile device to bedetermined. The mobile device may be programmed to continuouslydetermine its location, using any of the techniques described above, orcontinuously provide information to a server or other remote device toenable the server or other remote device to determine its location fromthe provided information (as described above).

Thereafter, a determination is made if and when the mobile device entersinto the region of interest, step 60. If not, the mobile device would beprogrammed to periodically or continually determine its location, e.g.,at minute intervals. The determination of whether the location of themobile device has entered into the region of interest may be adetermination that the location of the mobile device is changed to bewithin the region of interest, i.e., the current location of the mobiledevice is compared to the immediately preceding location to determineany change in the location and specifically, a change whereby thecurrent location is within the region of interest.

If the mobile device is determined to have entered into the region ofinterest, the next step 62 is to automatically generate a predeterminednotification signal relating to the entry of the mobile device into theregion of interest, which means that the possessor of the mobile devicedoes not have to undertake any manual intervention upon such entry.

If the person interested in knowing where the possessor of the mobiledevice is and is thus not the possessor of the mobile device, then thesignal may be transmitted to a remote entity or device accessible by themonitoring person, e.g., a parent's mobile device that is notified thata child has arrived at school. The signal may be a predetermined SMSmessage or a predetermined e-mail message.

In this regard, in one embodiment of the invention, the person receivingthe notification signal is able to customize the notification signal.For example, if the region of interest is a child's school and theparent wants to know when the child arrives at the school, the parentmay be able to select, using a computer program managing the definitionof the regions of interest and association of mobile devices therewith(described below), one of a plurality of pre-formed notification signalsor templates which relate to arrival at school. In this case, an SMSmessage or e-mail might be “[Child's name] has arrived at school”, withthe parent providing the name of their child. The selection of aparticular notification signal may be made when the person defines theregion of interest. Thus, a person could define multiple regions ofinterest for one or more mobile devices, associate each with aparticular notification signal and then receive a relevant message whenthe person or people possessing the mobile devices arrive at each of theregions of interest.

If the person wants to know themselves when they arrive at a particularlocation, then their mobile device may be programmed to react to thegeneration of the notification signal, e.g., emit a sound or vibrate.This would be particularly useful for commuters on trains and buses whomight fall asleep. A commuter could program their mobile devices whenthey approach their stop, and the mobile device would emit sound andvibrate to alert them to the approaching stop and wake them up toprevent them from missing their stop.

When creating or selecting the notification signal, the monitoringperson may also indicate the action of the mobile device relative to thedefined region of interest for which information is sought, i.e., whenthe mobile device leaves the region of interest, when the mobile deviceenters into the region of interest or when the mobile device remains fora selectable period of time in the region of interest. If pre-existingtemplates are used, then selection of one of the templates mayautomatically result in an indication of the specific action of themobile device relative to the defined region of interest. For example,selection of “[Child's name] has arrived at school” would automaticallybe considered a request to be notified when the location of the child'smobile device has entered into the defined region of interest.

As mentioned above, the method shown in FIG. 9 relates to monitoring thearrival of a person into a defined region of interest via monitoring oftheir mobile device although the same method is applicably formonitoring the departure of a mobile device from a region of interest.In this case, a notification signal may be “[Child's name] has leftschool”. The same monitoring techniques may be used to provide anotification signal about the current location of the mobile device,e.g., “[Child's name] is at [current location]”. The coordinates of thelocation could be converted into an address.

Another application of the method described above is for a person todefine a region of interest their own device, whether a movable, mobileor fixed computing device, and monitor the location of another mobiledevice relative to their own location. In other words, a person candefine a region of interest around their own device and enterinformation about other people's mobile devices and location-basednotification signals to be generated based on analysis of the locationof their computing device to the location of the other people's mobiledevice. This analysis may be that one of the other people has enteredinto the region of interest around the monitoring person's device or hasleft the region of interest around the monitoring person's device.

For example, if a parent wants to be notified when their child's mobiledevice (presumably carried by the child) leaves a region of interestaround their own device, the parent could define a region of interest asa circle with a diameter or radius of 100 feet, provide theidentification of their child's mobile device and a notification signalto be sent if the child's mobile device leaves the region of interest.If the child's mobile device leaves the region of interest, asdetermined by analysis of the location of the child's mobile devicerelative to the region of interest in the manner described above, anotification signal would be generated and provided to the parent'scomputing device. This notification signal may be a signal causing theparent's computing device to vibrate or emit sound. Since the parent'scomputing device may be a movable device, the parent could be notifiedwhenever a child wanders more than a predetermined distance from theparent.

As for another example, a person may want to know when their friends arein close proximity to their location. The person would enter a definedregion of interest relative to their computing device, e.g., a fixeddistance such as 1 mile around their device, and provide theidentification of other people's mobile devices and notification signalsto be sent when any of the other people's mobile devices is within 1mile of their own computing device. As above, the computing device maybe a fixed, movable or mobile device, in which case, the region ofinterest would be variable.

When the monitoring person is using a mobile device, or another othermovable computing device, this method would require two locationdeterminations. First, the location of a device of a “first” person whowants to know when any of their friends are within a predetermineddistance is determined, and the location of a mobile device of a“second” person is determined. The identification of this mobile deviceis provided by the first person along with the region of interest and anotification signal to be sent when both the second people is within theregion of interest defined relative to the mobile device of the firstperson. The location of the mobile device of the second person may bedetermined in any of the ways discussed above, e.g., with respect toFIGS. 7 and 8 wherein the second person may or may not know that theirlocation is being provided. The notification signal may be of the form“[Friend's name] is within 1 mile of your current location”.

If the first person is walking through their neighborhood or schoolcampus and programmed their mobile device to provide notificationsignals, they would receive notification signals whenever one of theirfriends is in close proximity to them (based on analysis of the locationof their own mobile device to the location of their friend's mobiledevices). Using mapping functions, the location of the mobile device ofthe second person could also be provided to the mobile device of thefirst person.

This method is also applicable when the second person has a computingdevice at a fixed location, which may be determined using any of thetechniques described above and provided to the mobile device of thefirst person.

In another embodiment of the invention, the absolute location of themobile device being sought is not required to be determined. Rather,when the monitoring person defines a region of interest relative totheir own computing device, the relative position of another mobiledevice relative to their own computing device is analyzed and anotification signal may be generated based on the analysis. For example,if a parent wants to be notified when their child's mobile device(presumably carried by the child) leaves a region of interest aroundtheir own computing device, the parent could define a region of interestas a circle with a diameter or radius of 100 feet around their computingdevice, provide the identification of their child's mobile device and anotification signal to be sent if the child's mobile device leaves theregion of interest. If the child's mobile device leaves the region ofinterest, as determined by analysis of the location of the child'smobile device relative to the parent's computing device, a notificationsignal would be generated and provided to the parent's computing device.This notification signal may be a signal causing the parent's computingdevice to vibrate or emit sound. Since the parent's computing device maybe a movable or mobile device, the parent could be notified whenever achild wanders more than a predetermined distance from the parent.

The location of the child's mobile device relative to the parent'scomputing device may be determined without actually determining eitherthe absolute location of the child's mobile device or the absolutelocation of the parent's mobile device. Rather, it is possible toanalyze the strength of a signal transmitted from one device to theother, whether from the parent's device to the child's device or viceversa, and then generate a notification signal when the strength of thesignal is below a threshold. The threshold may be set based on theparameters of the region of interest. Regardless of the threshold, if nosignal is received, the notification signal would be generated. In thiscase, since the strength of a signal being transmitted from a mobiledevice to another device is used to analyze the location of the mobiledevice relative to the other device, the other device must be onecapable of engaging in wireless communications, or at the least, capableof wirelessly receiving and/or transmitting signals.

To implement any of the foregoing methods, one or more computer programsare required.

Referring to FIG. 10, one embodiment of a computer program is embodiedon computer-readable medium at the mobile device 64 whose location isbeing monitored and includes a location determining application orsystem which periodically determines its location using any of thetechniques described above and to this end, may interact withlocation-determining components on the mobile device, e.g., a GPS-basedsystem. The location determining application may therefore determine thelocation of the mobile device 64 at a predetermined frequency, whichfrequency could be based on movement of the mobile device 64.

The computer program also interacts with a memory component, on themobile device 64 or elsewhere, which stores a defined geographic regionof interest.

The computer program continually analyzes the location of the mobiledevice 64, as determined by the location determining application,relative to the region of interest stored in the memory component inorder to determine when the mobile device 64 enters into the region ofinterest, leaves the region of interest or remains in the region ofinterest for a period of time (which would be selected when thenotification request is formulated). The computer program may bearranged to analyze the location of the mobile device 64 relative to theregion of interest only when the location of the mobile device 64 hasbeen determined to have changed.

The computer program is also arranged to automatically generate apredetermined notification signal when it determines that thenotification request has been satisfied, i.e., when the mobile device 64has entered into the region of interest, has left the region of interestor has remained in the region of interest for a period of time, withoutmanual intervention by a user of the mobile device 64.

If the notification is being provided to another person's device 66, thecomputer program is arranged to send the notification signal via atransmission or communications unit of the mobile device 64 to thedevice which has requested notification when the mobile device 64 entersinto, leaves and remains in the region of interest. This device 66receiving the notification signal, may be a desktop computer or mobiledevice, or any other type of computing device capable of assigning adesignated region of interest with an associated mobile device, or onewhich has been designated to receive the notification signal by anotherdevice. The computer program could direct the transmission orcommunications unit to formulate an SMS message or an e-mail messageembodying the notification signal.

If the device 66 is a mobile device, then the defined region of interestmay be movable or variable in that it may be dependent on the positionof device 66. In this case, whenever the location of the mobile device64 is determined, the location of device 66 is also determined toascertain whether mobile device 64 is has entered into, left or remainedwithin the region of interest defined relative to the current locationof device 66.

If the notification is being provided to the possessor of the mobiledevice 64, then the computer program may be arranged to generate thenotification signal as a signal which causes a reactive component of themobile device 64 to respond, for example, in the form of a vibration oremission of sound, which are typically built-in properties of componentsof the mobile device 64. The computer program may thus be arranged torespond to the notification signal by controlling any reactive system onthe mobile device which is capable of conveying the fact of entry of themobile device into the region of interest to the possessor thereof. Asmentioned above, the memory component which stores the defined region ofinterest, entry by the mobile device 64 into which causes the generationof the notification signal, may be situated apart from the mobile device64. It may be situated on a computing device 66 of a person seeking toknow when the mobile devices 64 enters into the region of interest,e.g., on the computing device used to designate the region of interest,or at a server 68 separate from both the mobile device 64 and computingdevice 66 of the person seeking to know when the mobile device 64 entersinto the region of interest. A dedicated server 68 for managing themonitoring of mobile devices in accordance with the invention isenvisioned and details thereof are set forth below.

The computer program resident on the mobile device 64 may include aregion of interest defining application arranged to enable a person toview at least one map, designate or define at least one region ofinterest on each viewed map to be stored in a memory component,associate the defined region of interest with a particular mobile deviceand associate a notification signal with the defined region of interestand the particular mobile device. Association of the mobile device 64 tothe defined region of interest may involve providing a telephone numberor e-mail address, or other identification property of the mobiledevice. Further, the computer program may include a template definingapplication arranged to enable the person to create a template or assignan existing template as a base for the notification signal to beautomatically generated for each defined region of interest andassociated mobile device.

The region of interest defining application and the template definingapplication may be arranged on any computing device 66 which seeks tointeract with the mobile device monitoring system in accordance with theinvention. Thus, a desktop computer could be provided with a computerprogram including the region of interest defining application andtemplate defining application and be able to run these applications andassociate regions of interest with mobile devices and be notified via atemplate-form message when the mobile devices enter into the definedregions of interest.

Alternatively, the region of interest defining application and thetemplate defining application may be resident on a server 68 accessiblevia the Internet so that anyone with access to the Internet, andauthorized by a manager or administrator of the monitoring system, couldinteract with these applications and define regions of interest andtemplates and be notified via a template-form message when the mobiledevices enter into the defined regions of interest.

In one embodiment, the computer program on the mobile device 64 does notgenerate the notification signal. Rather, it provides its location, orsignals which enable its location to be determined, to a server 68remote from the mobile device. This server 68 includes a computerprogram which retrieves the region of interest for the mobile devicefrom a memory component, whether located on a device of the personseeking to know when the mobile device 64 enters into a region ofinterest, located on the mobile device 64, located at the server 68 oranother site remote from any of the devices, and analyzes the locationof the mobile device 64 relative to the region of interest, determiningthe location of the mobile device 64 if necessary.

More specifically, the computer program at the server 68 is capable ofstoring a geographic region of interest defined by a person accessingthe server 68 or which is defined remote from the server 68 and thenprovided to the server 68, periodically determining a location of themobile device 64, continually analyzing the location of the mobiledevice 64 relative to the region of interest in order to determine whenthe mobile device 64 leaves, is in or enters into the region of interest(depending on the information being sought by the person monitoring themobile device 64), and automatically generating a predeterminednotification signal when it determines that the mobile device 64 hasleft, is present in or has entered into the region of interest. Thislast step is performed without manual intervention by a user of themobile device 64, and may even be without knowledge of the user of themobile device 64. The server application may further cause the signal tobe transmitted a remote entity other than the mobile device 64 if thelocation of the mobile device 64 or its user is being monitored byanother party, e.g., a parent monitoring the mobile device of theirchild.

The server application may determine the location of the mobile device64 at a predetermined frequency and analyze the location of the mobiledevice 64 relative to the region of interest only when the location ofthe mobile device 64 has changed. The server application may also causethe notification signal to be transmitted to the mobile device 64 itselfsuch that a reactive system on the mobile device 64 can react to thegeneration of the signal and generate a sound or vibrate (for particularuse by commuters as described above). The server application could alsopresent a plurality of templates for use as a base for the signal to beautomatically generated. The templates may relate to the region ofinterest, the location of the mobile device or a change in location ofthe mobile device.

The foregoing method and applications can be used to provide anotification whenever a mobile device, and presumably the user thereof,leaves a particular, predefined region or enters into a predefinedregion. No involvement by the user of the mobile device is required, andindeed, they could be prevented from even knowing that their locationrelative to predefined regions of interest is being monitored.

To implement the foregoing method and applications, a computer programcould be downloaded by the mobile device and used to access a server inorder to create an account and provide means to receive the notificationsignals, e.g., an e-mail address to receive e-mail messages relating tothe monitoring of a particular mobile device. A mobile device would berequired to have such software in order to provide its location orinformation to enable its location to be determined, and generallyenable it to be monitored.

A common aspect of some of the methods and systems described above isthe determination of the location of a mobile device based on signalreception from wireless beacons having known locations. An error whichoften occurs with such a determination arises from the fact that one ormore of the wireless beacons being used in the location determiningapplication may have been moved between the time at which their locationis provided to the location determining application and the time atwhich the location determining application is being used to determinethe current location of a mobile device. Certain types of wirelessbeacons are movable and if a previous location of such a movablewireless beacon is used to determine the location of a mobile device,the determination of the location of this mobile device will beerroneous.

One aspect of the invention is therefore to analyze the distance betweena mobile device and the known location of wireless beacons, from whichit is receiving signals which are to be used to determine the locationof the mobile device, and eliminate those wireless beacons whoselocation differs significantly from the “known” location (based onsignal reception by the mobile device). Specifically, information aboutreception of signals from wireless beacons by a mobile device, usuallyat least three to enable triangulation to be used, is used to determinethe distance between the mobile device and each wireless beacon. Anaverage of these distances is calculated and then the distance betweeneach wireless beacon and the average distance is analyzed relative to astandard deviation to eliminate those wireless beacons which indicatethat their “known” location may be clearly erroneous, i.e., they havebeen moved and are now at a location different than the stored location.

While particular embodiments of the invention have been shown anddescribed, it will be obvious to those skilled in the art that changesand modifications may be made without departing from the invention inits broader aspects, and, therefore, the aim in the appended claims isto cover all such changes and modifications as fall within the truespirit and scope of the invention.

The invention claimed is:
 1. A method, comprising: maintaining on adatabase server, a collaborative database containing geographic locationinformation pertaining to Wi-Fi access points received from a pluralityof Wi-Fi- and GPS-enabled mobile devices operated by a plurality ofdifferent users, the collaborative database including database recordsfor each of a plurality of Wi-Fi access points including a MAC addressand geographic location of the Wi-Fi access point, wherein at least afirst portion of the database records are based on Wi-Fi identificationand geographic location data received from a first Wi-Fi- andGPS-enabled mobile device of the plurality of Wi-Fi- and GPS-enabledmobile devices operated by a first user of the plurality of differentusers and at least a second portion of the database records differentthan the first portion are based on Wi-Fi identification and geographiclocation data received from a second Wi-Fi- and GPS-enabled mobiledevice of the plurality of Wi-Fi- and GPS-enabled mobile devicesoperated by a second user of the plurality of different users such thatthe collaborative database is built in a collaborative manner by atleast the first and second Wi-Fi- and GPS-enabled devices operated bythe first and second users, each of the first and second Wi-Fi- andGPS-enabled mobile devices comprising a Wi-Fi scanner and a GPS device,the first and second Wi-Fi- and GPS-enabled mobile devices eachcomprising a personal digital assistant (PDA) or a cell phone;receiving, at a server, a location request from the first Wi-Fi- andGPS-enabled mobile device, the location request including a respectiveMAC address of at least one Wi-Fi access point for which a wirelesssignal is detected by the first Wi-Fi- and GPS-enabled mobile device;retrieving, via a query issued to the database server using at least oneMAC address included in the location request, geographic location datafor at least one of the Wi-Fi access points from the collaborativedatabase; determining, via a processor, a geographic location of thefirst Wi-Fi- and GPS-enabled mobile device based at least on thegeographic location data retrieved from the collaborative database; andreturning, via the server, the determined geographic location to thefirst Wi-Fi- and GPS-enabled mobile device.
 2. The method of claim 1,wherein the determined geographic location includes a latitude andlongitude value.
 3. The method of claim 1, wherein the first and secondWi-Fi- and GPS-enabled mobile devices each are a cell phone.
 4. Themethod of claim 1, further comprising providing software configured tobe executed on the first Wi-Fi- and GPS-enabled mobile device, whereinthe software, upon execution enables the first Wi-Fi- and GPS-enabledmobile device to: identify a MAC address for at least one Wi-Fi accesspoint transmitting a wireless signal that is received by the firstWi-Fi- and GPS-enabled mobile device; generate a location requestincluding a respective MAC address for each of the at least one Wi-Fiaccess point transmitting a wireless signal for which a MAC address isidentified; and send the location request to the server which isconfigured to facilitate access to the collaborative database.
 5. Themethod of claim 4, wherein the software is further configured, uponexecution, to enable a user of the first Wi-Fi- and GPS-enabled mobiledevice to cause the first Wi-Fi- and GPS-enabled mobile device togenerate and send a location request to the server in response toselection of an icon by the user.
 6. A method, comprising: maintainingon a server system, a collaborative database containing geographiclocation information pertaining to Wi-Fi access points received from aplurality of Wi-Fi- and GPS-enabled mobile devices operated by aplurality of different users, the collaborative database includingdatabase records for each of a plurality of Wi-Fi access pointsincluding a MAC address and geographic location of the Wi-Fi accesspoint, wherein at least a first portion of the database records arebased on Wi-Fi identification and geographic location data received froma first Wi-Fi- and GPS-enabled mobile device of the plurality of Wi-Fi-and GPS-enabled mobile devices operated by a first user of the pluralityof different users and at least a second portion of the database recordsdifferent than the first portion are based on Wi-Fi identification andgeographic location data received from a second Wi-Fi- and GPS-enabledmobile device of the plurality of Wi-Fi- and GPS-enabled mobile devicesoperated by a second user of the plurality of different users such thatthe collaborative database is built in a collaborative manner by atleast the first and second Wi-Fi- and GPS-enabled mobile devicesoperated by the first and second users, each of the first and secondWi-Fi- and GPS-enabled mobile devices comprising a Wi-Fi scanner and aGPS device, the first and second Wi-Fi- and GPS-enabled mobile deviceseach comprising a personal digital assistant (PDA) or a cell phone;receiving, at the server system, a location request from the firstWi-Fi- and GPS-enabled mobile device, the location request including arespective MAC address of at least one Wi-Fi access point for which awireless signal is detected by the first Wi-Fi- and GPS-enabled mobiledevice; retrieving, via a query issued to the server system using atleast one MAC address included in the location request, geographiclocation data for at least one of the Wi-Fi access points from thecollaborative database; determining, via a processor, a geographiclocation of the first Wi-Fi- and GPS enabled mobile device based atleast on the geographic location data retrieved from the collaborativedatabase; and returning, via the server system, the determinedgeographic location to the first Wi-Fi- and GPS-enabled mobile device.7. The method of claim 6, wherein the determined geographic locationincludes a latitude and longitude value.
 8. The method of claim 6,wherein the first and second Wi-Fi- and GPS-enabled mobile devices eachare a cell phone.
 9. The method of claim 6, further comprising providingsoftware configured to be executed on the first Wi-Fi- and GPS- enabledmobile device, wherein the software, upon execution enables the firstWi-Fi- and GPS-enabled mobile device to: identify a MAC address for atleast one Wi-Fi access point transmitting a wireless signal that isreceived by the first Wi-Fi- and GPS-enabled mobile device; generate alocation request including a respective MAC address for each of the atleast one Wi-Fi access point transmitting a wireless signal for which aMAC address is identified; and send the location request to the serversystem which is configured to facilitate access to the collaborativedatabase.
 10. The method of claim 9, wherein the software is furtherconfigured, upon execution, to enable a user of the first Wi-Fi- andGPS-enabled mobile device to cause the first Wi-Fi- and GPS-enabledmobile device to generate and send a location request to the serversystem in response to selection of an icon by the user.
 11. A method,comprising: receiving at a database server, first Wi-Fi access pointlocation data from a first Wi-Fi- and GPS-enabled mobile device operatedby a first user, the first Wi-Fi- and GPS-enabled mobile devicecomprising a Wi-Fi scanner and a GPS device, the first Wi-Fi- andGPS-enabled mobile device comprising a personal digital assistant (PDA)or a cell phone, the first Wi-Fi access point location data including,GPS location data generated by the GPS device of the first Wi-Fi- andGPS-enabled mobile device, and a MAC address of a first Wi-Fi accesspoint for which a wireless signal is detected by the Wi-Fi scanner ofthe first Wi-Fi- and GPS-enabled mobile device; processing, via aprocessor, the first Wi-Fi access point location data to generategeographic location data for the first Wi-Fi access point; adding thegeographic location data and MAC address of the first Wi-Fi access pointto a collaborative database containing Wi-Fi access point location databuilt in a collaborative manner from geographic location data frommultiple mobile devices operated by users; receiving, at a server, alocation request from a second mobile device operated by a second user,the location request including a MAC address of the first Wi-Fi accesspoint for which a wireless signal is detected by the second mobiledevice; retrieving via a query issued to the database server, geographiclocation data for the first Wi-Fi access point from the collaborativedatabase; determining, via a processor, a geographic location of thesecond mobile device based at least on the geographic location data forthe first Wi-Fi access point; and returning, via the server, geographiclocation data to the second mobile.
 12. The method of claim 11, whereinthe geographic location data includes a latitude and longitude value.13. The method of claim 11, wherein the first Wi-Fi- and GPS-enabledmobile device is a cell phone and the second mobile device is a cellphone.
 14. The method of claim 11, further comprising providing softwareconfigured to be executed on the first Wi-Fi- and GPS-enabled mobiledevice, wherein the software, upon execution enables the first Wi-Fi-and GPS-enabled mobile device to: identify a MAC address for at leastone Wi-Fi access point transmitting a wireless signal that is receivedby the first Wi-Fi- and GPS-enabled mobile device; determine ageographic location of the first Wi-Fi- and GPS-enabled mobile devicethrough use of the GPS device of the first Wi-Fi- and GPS-enabled mobiledevice; generate the first Wi-Fi access point location data; and sendthe first Wi-Fi access point location data to the server.
 15. The methodof claim 11, wherein the step of adding the geographic location data andMAC address of the first Wi-Fi access point to the collaborativedatabase containing Wi-Fi access point location data is performed onlywhen the geographic location data and MAC address of the first Wi-Fiaccess point is not already present in the collaborative database.
 16. Amethod, comprising: receiving, at a database server from a first Wi-Fi-and GPS-enabled mobile device operated by a first user, a first set ofWi-Fi access point location data, the first Wi-Fi- and GPS-enabledmobile device comprising a Wi-Fi scanner and a GPS device, the firstWi-Fi- and GPS-enabled mobile device comprising a personal digitalassistant (PDA) or a cell phone, the first set of Wi-Fi access pointlocation data including, for each of at least one Wi-Fi access pointfrom which a wireless signal transmitted from a Wi-Fi access point isdetected by the first Wi-Fi- and GPS enabled mobile device, a MACaddress of the Wi-Fi access point as detected by the Wi-Fi scanner ofthe first Wi-Fi- and GPS-enabled mobile device, and GPS location datagenerated by the GPS device of the first Wi-Fi- and GPS-enabled mobiledevice; receiving, at the database server from a second Wi-Fi- andGPS-enabled mobile device operated by a second user, a second set ofWi-Fi access point location data, the second Wi-Fi- and GPS-enabledmobile device comprising a Wi-Fi scanner and a GPS device, the secondWi-Fi- and GPS-enabled mobile device comprising a PDA or a cell phone,the second set of Wi-Fi access point location data including, for eachof at least one Wi-Fi access point from which a wireless signaltransmitted from a Wi-Fi access point is detected by the second Wi-Fi-and GPS-enabled mobile device, a MAC address of the Wi-Fi access pointas detected by the Wi-Fi scanner of the second Wi-Fi- and GPS-enabledmobile device, and GPS location data generated by the GPS device of thesecond Wi-Fi- and GPS- enabled mobile device; processing, via aprocessor, data in the set first and second sets of Wi-Fi access pointlocation data to generate geographic location data for at least oneWi-Fi access point having a MAC address included in the first and secondsets of Wi-Fi access point location data; and adding the geographiclocation data and MAC address of the at least one Wi-Fi access point toa collaborative database containing Wi-Fi access point location data,whereby the collaborative database is thus built in a collaborativemanner by the first and second Wi-Fi- and GPS-enabled mobile devicesoperated by the first and second users.
 17. The method of claim 16,further comprising: receiving, via a server, a location request from thefirst Wi-Fi- and GPS-enabled mobile device, the location requestincluding a MAC address corresponding to at least one Wi-Fi access pointfor which a wireless signal is detected by the first Wi-Fi- andGPS-enabled mobile device; in response to receiving the locationrequest, retrieving geographic location data from the collaborativedatabase for at least one Wi-Fi access point for which a MAC address isprovided in the location request; determining, via a processor, ageographic location of the first Wi-Fi- and GPS-enabled mobile devicebased at least on the geographic location data for the at least oneWi-Fi access point; and returning, via the server, the determinedgeographic location to the first Wi-Fi- and GPS-enabled mobile device.18. The method of claim 16, further comprising: receiving, at thedatabase server from a Wi-Fi- and GPS-enabled mobile device, a set ofWi-Fi access point location data including, a MAC address for a Wi-Fiaccess point transmitting a wireless signal received by the Wi-Fi- andGPS-enabled mobile device; and for each of a plurality of geographiclocations, GPS-measured coordinates, generated by the Wi-Fi- andGPS-enabled mobile device, and at least one signal strength measurementof the wireless signal transmitted from the Wi-Fi access point measuredby the Wi-Fi- and GPS-enabled mobile device; processing, via theprocessor, data in the set of Wi-Fi access point location data togenerate geographic location data for the Wi-Fi access point; and addingthe geographic location data for the Wi-Fi access point and MAC addressof the Wi-Fi access point to the collaborative database.
 19. The methodof claim 16, further comprising: receiving, at the database server froma Wi-Fi- and GPS-enabled mobile device, a set of Wi-Fi access pointlocation data including, a respective MAC address for each of aplurality of Wi-Fi access points transmitting a wireless signal receivedby the Wi-Fi- and GPS-enabled mobile device; and for each of a pluralityof geographic locations, GPS-measured coordinates, generated by theWi-Fi- and GPS-enabled mobile device, and at least one signal strengthmeasurement of a wireless signal transmitted from at least one of theplurality of Wi-Fi access points measured by the Wi-Fi- and GPS-enabledmobile device; processing, via the processor, data in the set of Wi-Fiaccess point location data to generate geographic location data for atleast one of the plurality of Wi-Fi access points; and adding thegeographic location data and MAC address for the at least one of theplurality of Wi-Fi access points for which geographic location data isgenerated to the collaborative database.
 20. The method of claim 16,wherein the step of adding the geographic location data and MAC addressof the at least one Wi-Fi access point to the collaborative databasecontaining Wi-Fi access point location data is performed only when thegeographic location data and MAC address of the at least one Wi-Fiaccess point is not already present in the collaborative database. 21.The method of claim 1, wherein in each of the first and second Wi-Fi-and GPS-enabled mobile devices, the scanner is equipped with the GPSdevice such that position data provided by the GPS device is consideredposition data for the scanner.
 22. The method of claim 1, wherein ineach of the first and second Wi-Fi- and GPS-enabled mobile devices, thescanner is collocated with the GPS device such that position dataprovided by the GPS device is considered position data for the scanner.23. The method of claim 6, wherein in each of the first and secondWi-Fi- and GPS-enabled mobile devices, the Wi-Fi scanner is equippedwith the GPS device such that position data provided by the GPS deviceis considered position data for the Wi-Fi scanner.
 24. The method ofclaim 6, wherein in each of the first and second Wi-Fi- and GPS-enabledmobile devices, the Wi-Fi scanner is collocated with the GPS device suchthat position data provided by the GPS device is considered positiondata for the Wi-Fi scanner.
 25. The method of claim 11, wherein in thefirst Wi-Fi- and GPS-enabled mobile device, the Wi-Fi scanner isequipped with the GPS device such that position data provided by the GPSdevice is considered position data for the Wi-Fi scanner.
 26. The methodof claim 11, wherein in the first Wi-Fi- and GPS-enabled mobile device,the Wi-Fi scanner is collocated with the GPS device such that positiondata provided by the GPS device is considered position data for theWi-Fi scanner.
 27. The method of claim 11, wherein the second mobiledevice constitutes a second Wi-Fi- and GPS-enabled mobile device, thesecond Wi-Fi- and GPS-enabled mobile device comprising a Wi-Fi scannerand a GPS device, the second Wi-Fi- and GPS-enabled mobile devicecomprising a PDA or a cell phone.
 28. The method of claim 11, furthercomprising: enabling a plurality of Wi-Fi- and GPS-enabled mobiledevices operated by a plurality of different users to contribute to thecollaborative database, the plurality of Wi-Fi- and GPS-enabled mobiledevices including the first Wi-Fi- and GPS-enabled mobile device;receiving at the database server, second Wi-Fi access point locationdata from a second Wi-Fi- and GPS-enabled mobile device of the pluralityof Wi-Fi- and GPS-enabled mobile devices that is operated by a thirduser, the second Wi-Fi- and GPS-enabled mobile device comprising a Wi-Fiscanner and a GPS device, the second Wi-Fi- and GPS-enabled mobiledevice comprising a PDA or a cell phone, the second Wi-Fi access pointlocation data including, GPS location data generated by the GPS deviceof the second Wi-Fi- and GPS-enabled mobile device, and a MAC address ofa second Wi-Fi access point for which a wireless signal is detected bythe Wi-Fi scanner of the second Wi-Fi- and GPS-enabled mobile device;processing, via a processor, the second Wi-Fi access point location datato generate geographic location data for the second Wi-Fi access point;and adding the geographic location data and MAC address of the secondWi-Fi access point to the collaborative database containing Wi-Fi accesspoint location data such that the collaborative database is built in acollaborative manner by at least the first and second Wi-Fi- andGPS-enabled mobile devices of the plurality of Wi-Fi- and GPS-enabledmobile devices operated by the first and third users.
 29. The method ofclaim 16, wherein in each of the first and second Wi-Fi- and GPS-enabledmobile devices, the Wi-Fi scanner is equipped or collocated with the GPSdevice such that position data provided by the GPS device is consideredposition data for the Wi-Fi scanner.
 30. The method of claim 16, furthercomprising enabling a plurality of Wi-Fi- and GPS-enabled mobile devicesoperated by a plurality of different users to contribute to thecollaborative database, the plurality of Wi-Fi- and GPS-enabled mobiledevices including the first and second Wi-Fi- and GPS-enabled mobiledevices.